Cloud computing and cloud storage systems provide users with the ability to store and edit electronic documents and other files on a remote network rather than on a local computer. This allows users the ability to access the remotely stored files from any device that is capable of connecting with the remote network, for example using a web browser over an Internet connection. Users typically log into an account on the cloud computing system using a username and password. The cloud computing system provides a user interface for users to view, edit, and manage files stored on the system. Cloud computing systems also provide users the ability to share files with other users and to allow collaboration between users on the same file.
One type of file that may be stored in a cloud computing system is a spreadsheet. Spreadsheets are usually arranged as a set of rows and columns that define cells, where each cell may contain data, formulae, or other information. Spreadsheets range in size and larger spreadsheets may contain many rows or columns of information. Typically, when a file from a cloud computing system is loaded onto a client computer the data contents of the entire file are sent from the server to the client computer. For large spreadsheets, the amount of data may range in the megabytes or above. Downloading the information to the client computer may take a long time and may also slow down the rendering process on the client computer. If a user only wants to edit a certain portion of the spreadsheet, loading the entire spreadsheet onto the client computer wastes time and resources.
In addition, multiple users may have access to the spreadsheet and may edit the spreadsheet concurrently. While a user on client computer is editing the spreadsheet, the spreadsheet is not instantaneously updated with edits submitted by other users. Rather, the cloud computing system coordinates edits received from various users. When a cloud computing system sends edits made by other collaborators to a client computer, the process of reconciling the collaborator edits with the edits made by the current user on the client computer is complex and depends upon the data structure of the spreadsheet.